package tools

import (
	"encoding/json"
	"log"
	"os"
)

type DBConfig struct {
	User    string `json:"user"`
	Pwd     string `json:"pwd"`
	Ip      string `json:"ip"`
	Port    string `json:"port"`
	DBName  string
	TblName string
}

func (db *DBConfig) GetDBConfig() (string, string, string, string, string) {
	// 返回 json 配置文件中的前5个值
	return db.User, db.Pwd, db.Ip, db.Port, db.DBName
}

func (db *DBConfig) GetTblName() string {
	// 返回 json 配置文件中数据库表名
	return db.TblName
}

func (db *DBConfig) LoadJsonConfig(filename string) {
	// Open不是在当前路径下找，而是在项目根目录找
	file, err := os.Open(filename)
	if err != nil {
		log.Printf("os.Open error: %v\n", err)
		return
	}
	defer file.Close()
	decoder := json.NewDecoder(file)
	err = decoder.Decode(&db)
	if err != nil {
		log.Printf("decoder.Decode error: %v\n", err)
		return
	}
}
